Triplestore

A triplestore is a purpose-built database for the storage and retrieval of triples,[1] a triple being a data entity composed of subject-predicate-object, like "Bob is 35" or "Bob knows Fred".

Much like a relational database, one stores information in a triplestore and retrieves it via a query language. Unlike a relational database, a triplestore is optimized for the storage and retrieval of triples. In addition to queries, triples can usually be imported/exported using Resource Description Framework (RDF) and other formats.

Some triplestores can store billions of triples.[2] The performance of a particular triplestore can be measured with the Lehigh University Benchmark (LUBM),[3] or with real data from UniProt.

Contents

Implementation

Some triplestores have been built as database engines from scratch, while others have been built on top of existing commercial relational database engines (i.e. SQL-based).[4] Like the early development of OLAP databases, this intermediate approach allowed large and powerful database engines to be constructed for little programming effort in the initial phases of triplestore development. Long-term though it seems likely that native triplestores will have the advantage for performance. A difficulty with implementing triplestores over SQL is that although "triples" may thus be "stored", implementing efficient querying of a graph-based RDF model (i.e. mapping from SPARQL) onto SQL queries is difficult.[5]

List of triplestore implementations

Name Language Homepage
3store C http://www.aktors.org/technologies/3store/
4store C http://www.4store.org/
5store C http://4store.org/trac/wiki/5store
AllegroGraph Common Lisp http://www.franz.com/agraph/allegrograph/
ARC PHP http://arc.semsol.org/
Ariadne Genomics Java http://www.ariadnegenomics.com/
Bigdata Java http://www.bigdata.com/
BigOWLIM Java http://www.ontotext.com/owlim/
Dydra Common Lisp, C http://www.dydra.com/
Jena Java http://jena.sourceforge.net/
Mulgara Java http://www.mulgara.org/
OpenAnzo Java http://www.openanzo.org/
OntoBroker Java http://www.ontoprise.de/en/home/products/ontobroker/
Oracle Java, PL/SQL, SQL http://www.oracle.com/technetwork/database/options/semantic-tech/whatsnew/index.html
Parliament Java/C++ http://parliament.semwebcentral.org/
Pointrel System Java/Python http://sourceforge.net/projects/pointrel/
RAP PHP http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/
RDF::Core Perl http://search.cpan.org/dist/RDF-Core/
RDF::Trine Perl http://www.perlrdf.org/
RDF-3X C++ http://www.mpi-inf.mpg.de/~neumann/rdf3x/
RDFBroker Java http://rdfbroker.opendfki.de/
Redland C http://librdf.org/
RedStore C http://www.aelius.com/njh/redstore/
Semantics Platform C# http://www.intellidimension.com/
SemWeb-DotNet C# http://razor.occams.info/code/semweb/
Sesame Java http://www.openrdf.org/
Soprano C++ http://soprano.sourceforge.net/
Stardog Java http://stardog.com/
StrixDB C++/Lua http://www.strixdb.com/
SwiftOWLIM Java http://www.ontotext.com/owlim/
Virtuoso C http://virtuoso.openlinksw.com/
YARS Java http://sw.deri.org/2004/06/yars/
Smart-M3 Python/Java/C/C#

See also

References

External links